Pourquoi les bibliothèques UI headless sont-elles si populaires ?


{% contentBlock %} Quand j'ai commencé à développer des applications web, et commencé à vouloir faire de jolies interfaces et écrit mes premières lignes de code CSS, j'ai vite compris que je n'étais pas fait pour ça. J'ai donc commencé à utiliser des bibliothèques CSS, comme Bootstrap, pour m'aider à faire des interfaces plus jolies. Mais mon application ressemblait à toutes les autres applications qui utilisaient Bootstrap. Et j'ai donc essayé de customiser les composants de Bootstrap à coup de `!important`. C'est pour ça que je préfère ne pas utiliser de bibliothèque CSS, et faire mes propres composants. Mais ça prend du temps, et je ne suis pas designer. Lors de ma veille technologique, je suis tombé sur une vidéo intéressante de Theo - t3.gg [Discussing why developers are preferring Headless libraries rather than traditional UI libraries](https://www.youtube.com/watch?v=2Q0mWH6g8Fo), qui explique pourquoi les bibliothèques UI headless sont de plus en plus populaires. {% endcontentBlock %} {% contentBlock %} ## C'est quoi une bibliothèque UI headless ? Une bibliothèque UI headless est une bibliothèque qui fournit des composants UI, mais sans le style. C'est à vous de faire le style de ces composants. De plus, le code source des composants est directement copié dans votre projet, et non pas importé via un package manager comme npm ou yarn. Cela permet de customiser les composants comme on le souhaite, sans avoir à utiliser des `!important` partout. {% endcontentBlock %} {% contentBlock %} ## Exemple de bibliothèque UI headless - [Headless UI](https://headlessui.com/) par Tailwind CSS - [shadcn/ui](https://ui.shadcn.com/) - [react-aria](https://react-spectrum.adobe.com/react-aria/) par Adobe {% endcontentBlock %} {% contentBlock %} ## Conclusion Je vais essayer pour un prochain projet d'utiliser une bibliothèque UI headless, pour voir si ça me convient mieux que les bibliothèques UI traditionnelles. Mais je pense que je vais continuer à utiliser des libraries UI traditionnelles pour les projets de développement mobile, car les utilisateurs sont habitués à voir des composants avec un style spécifique à leur OS. {% endcontentBlock %}